Efficiently allocating computer resources to software workloads can reduce the total cost associated with enterprise-class computing. Savings result from decreasing the amount of resources initially purchased and from increasing the amount of purchased resources that can be powered down to save energy costs. Since workload demands change over time, efficient allocation requires frequent reallocations. A resource controller that accurately predicts workload demands, e.g., based on prior demand levels, can provide for efficient reallocations.
The way in which demand changes over time varies from workload to workload. Some workloads have fairly constant demands, others may vary periodically, while others vary as a function of external factors, such as economic indicators or world events. A procedure for predicting future workload demands that predicts accurately for one workload may not predict accurately for another. To address this variability, a resource controller can allow a user to manually assign prediction procedures to workloads and/or employ an expert system to assign prediction procedures to workloads. However, the demand patterns of a workload can also vary over time, so the accuracy of a well-selected prediction procedure can degrade over time.
Herein, related art is described to facilitate understanding of the invention. Related art labeled “prior art” is admitted prior art; related art not labeled “prior art” is not admitted prior art.